<?php namespace Home\Controller;


use Hdphp\Controller\Controller;

class ContentController extends  Controller{
	
	
	public function index(){
		//获得点击商品时通过get传过来的gid
		$gid = Q('get.gid',0,'intval');
		//实例化Goods模型
		$goodsModel = new \Common\Model\Goods;
		//获得对应的商品数据
		$goodsData = $goodsModel->where("gid=$gid")->find();
		//从商品数据数组中获得品牌ID
		$bid = $goodsData['brand_bid'];
		//从商品数据数组中获得商品分类cid
		$goodsCid = $goodsData['category_cid'];
		//实例化分类模型
		$cateModel  = new \Common\Model\Cate;
		//获得商品分类
		$goodsCateData = $cateModel->where("cid=$goodsCid")->find();
		//分配数据到页面
		View::with('goodsCateData',$goodsCateData);
		//获得商品分类的父级分类ID
		$goodsCatePid = $goodsCateData['pid'];
		//获得商品分类的父级分类名
		$goodsCateFname = $cateModel->where("cid=$goodsCatePid")->find();
		//分配商品分类的父级分类名
		View::with('goodsCateFname',$goodsCateFname);
		//获得商品所属品牌名
		$goodsData['brand_name'] = Db::table('brand')->where("bid={$bid}")->pluck('bname');
		//获得商品所属品牌logo图
		$goodsData['brand_logo'] = Db::table('brand')->where("bid={$bid}")->pluck('logo');
		//获得商品详情
		$goodsData['detail'] = Db::table('goods_detail')->where("goods_gid=$gid")->get();
		//分配商品数据
		View::with('goodsData',$goodsData);
		//获得商品的属性数组 并分配到页面上
		$goodsAttrData = Db::table('goods_attr')
						->join("type_attribute",'type_attribute_taid','=','taid')
						->where("goods_gid=$gid AND atype=0")
						->get();
		View::with('goodsAttrData',$goodsAttrData);
		//获得商品图册数据 把字符串转为数组
		$albumData = explode('|', $goodsData['detail'][0]['album']);
		//分配商品图册数据
		View::with('albumData',$albumData);
		//实例化商品属性模型
		$goodsAttrModel = new \Common\Model\GoodsAttr;
		//关联商品属性表和类型属性表 取得商品的规格 并按taid分组
		$specData = $goodsAttrModel
					->join("type_attribute",'type_attribute_taid','=','taid')
					->where("goods_gid=$gid AND atype=1")
					->groupBy("taid")
					->get();
		//分组之后把商品的具体规格取到  遍历规格数组 把商品的具体压到规格数组
		foreach ($specData as $k => $v) {
			$specData[$k]['son'] = Db::table('goods_attr')
									->where("goods_gid={$gid} AND type_attribute_taid={$v['taid']}")
									->get();
			
		}
		//分配数据
		View::with('specData',$specData);
		View::make();
	}
	
	//检查库存 返回附加价格和库存到页面上
	public function checkinv(){
		//声明一个空数组 用于存储返回的数据
		$goodsData = array();
		//把ajax传过来的规格组合转为字符串
		$combine = implode(',', Q('post.combine'));
		//通过属性组合查找该属性组合的附加价格
		$goodsData['add_price'] = Db::table('goods_attr')->where("gaid in (".$combine.")")->sum("add_price");
		//通过属性组合查找该属性组合商品的附加价格
		$inv = Db::table('goods_list')->where("combine='$combine'")->pluck('inventory');
		//压到数组里
		$goodsData ['inv'] = $inv;
		//再把数据返回
		$this->ajax($goodsData);
	}
} 

 ?>